package cn.damai.mine.json.jsonfield;

import com.alibaba.fastjson.JSONObject;

public class ProductJsonObjectTest {
	
	/**
	 * http://blog.csdn.net/u011425751/article/details/51219242
	 * 
	 * <p>main:(@JSONField作用在setter和getter方法上). </p>
	 * <p>TODO(这里描述这个方法适用条件、使用方法、流程、注意事项 – 可选).</p>
	 *
	 *当作用在setter方法上时，就相当于根据 name 到 json中寻找对应的值，并调用该setter对象赋值。
	 *当作用在getter上时，在bean转换为json时，其key值为name定义的值。
	 *
	 * @author Thinkpad
	 * @param args
	 * @since 1.0
	 */

	public static void main(String[] args) {
		Product product = new Product();
		product.setProductName("��Ʒ");
		product.setDesc("����һ����Ʒ");
		product.setPrice("22.3");

		String jsonStr = JSONObject.toJSONString(product);
		System.out.println("ת��Ϊjson:" + JSONObject.toJSONString(product));

		jsonStr = jsonStr.toUpperCase();
		System.out.println(jsonStr);

		product = JSONObject.toJavaObject(JSONObject.parseObject(jsonStr),
				Product.class);
		System.out.println(product.toString());
		
		JSONObject json = JSONObject.parseObject(JSONObject.toJSONString(product));
		System.out.println(json.getString("hahaj"));
		
		/*ת��Ϊjson:{"desc":"����һ����Ʒ","name":"��Ʒ","price":"22.3"}
		{"DESC":"����һ����Ʒ","NAME":"��Ʒ","PRICE":"22.3"}
		{"desc":"����һ����Ʒ","name":"��Ʒ","price":"22.3"}*/
		
	}

}
